package ru.products.common.classes;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.assertEquals;

class CurrencyCardTest {

    /**
     * Unit тест на конструктор класса
     */
    @Test
    void currencyCardConstructor() {
        CurrencyCard Card1 = new CurrencyCard("SomeName", 123.0, "RUB");
        assertEquals("SomeName", Card1.getName());
        assertEquals(123.0, Card1.getBalance());
        assertEquals("RUB", Card1.getCurrency());
    }

    /**
     * Unit тест на метод проверки баланса
     */
    @Test
    void checkBalance() {
        CurrencyCard Card1 = new CurrencyCard("SomeName", 123.0, "RUB");
        assertEquals(123.0, Card1.checkBalance());
    }

    /**
     * Unit тест на пополнение карты
     */
    @Test
    void refill() {
        CurrencyCard Card1 = new CurrencyCard("SomeName", 123.0, "RUB");
        Card1.refill(7.5);
        assertEquals(130.5, Card1.checkBalance());

    }

    /**
     * Unit тест на списание денег с карты
     */
    @Test
    void debiting() {
        CurrencyCard Card1 = new CurrencyCard("SomeName", 123.0, "RUB");
        Card1.debiting(3.5);
        assertEquals(119.5, Card1.checkBalance());
    }


}